library(tidyverse)
library(janitor)
library(plotly)
package ‘plotly’ was built under R version 3.6.2Registered S3 method overwritten by 'data.table':
  method           from
  print.data.table     
Registered S3 method overwritten by 'htmlwidgets':
  method           from         
  print.htmlwidget tools:rstudio

Attaching package: ‘plotly’

The following object is masked from ‘package:ggplot2’:

    last_plot

The following object is masked from ‘package:stats’:

    filter

The following object is masked from ‘package:graphics’:

    layout
library(lubridate)
library(tsibble)
cancer_incidence <- read_csv("../clean_data/cancer_incidence_scotland.csv")

── Column specification ───────────────────────────────────────────────────────────────────────────────────────────────────────
cols(
  health_board = col_character(),
  cancer_site = col_character(),
  sex = col_character(),
  year = col_double(),
  incidences_all_ages = col_double(),
  crude_rate = col_double()
)
scotland <- read_csv("../clean_data/scotland_wide.csv")

── Column specification ───────────────────────────────────────────────────────────────────────────────────────────────────────
cols(
  health_board = col_character(),
  cancer_site = col_character(),
  sex = col_character(),
  year = col_double(),
  incidences_all_ages = col_double(),
  crude_rate = col_double()
)
borders <- cancer_incidence %>% 
  filter(health_board == "NHS Borders")
ggplotly(borders %>% 
  filter(cancer_site != "All cancer types",
         sex == "All") %>% 
 ggplot() +
 aes(x = year, y = crude_rate, fill = cancer_site) +
 geom_area(size = 1L) +
 scale_fill_hue() +
 labs(x = "Year", y = "Crude rate", title = "Cancer incidence in the Borders", fill = "Type of cancer") +
 theme_minimal())
borders %>%
 filter(sex %in% "All",
        cancer_site != "All cancer types") %>%
 ggplot() +
 aes(x = year, y = crude_rate, colour = cancer_site) +
 geom_line(size = 1L) +
 geom_smooth(span = 0.75) +
 scale_color_hue() +
   labs(x = "Year", y = "Crude rate", title = "Cancer incidence in the Borders", fill = "Type of cancer")+
 theme_minimal()

nationwide_cancer <- rbind(cancer_incidence, scotland)

ggplotly(nationwide_cancer %>%
 filter(sex %in% "All",
        cancer_site == "All cancer types",
        health_board %in% c("scotland_wide", "NHS Borders")) %>%
 ggplot() +
 aes(x = year, y = crude_rate, colour = health_board) +
 geom_line(size = 1L) +
  geom_smooth(span = 0.75)+
  labs(x = "Year", y = "Crude rate", title = "Cancer incidence in the Borders compared to Scotland wide")+
 scale_color_hue() +
 theme_minimal())
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
cancer_tsibble <- nationwide_cancer %>% 
  as_tsibble(index = year)
Error: A valid tsibble must have distinct rows identified by key and index.
ℹ Please use `duplicates()` to check the duplicated rows.
nationwide_cancer %>% 
  filter(year == 1994) %>% 
  slice_max(crude_rate, n = 10)
nationwide_cancer %>% 
  filter(cancer_site == "All cancer types",
         sex == "All") %>% 
  group_by(year) %>% 
  slice_max(crude_rate, n = 5) %>% 
  ggplot()+
  aes(x = year, y = crude_rate, fill = (health_board == "NHS Borders"))+
  scale_fill_discrete(name = " ", labels = c("Other health boards", "NHS Borders"))+
  labs(x = "Year", y = "Crude rate", title = "Top 5 Health Boards with Highest Incidence of Cancer in Scotland")+
  geom_col()

ggplotly(borders %>% 
  filter(sex != "All",
         cancer_site != "All cancer types") %>% 
    group_by(year, sex) %>% 
  slice_max(crude_rate, n = 3) %>% 
  ggplot()+
  aes(x = year, y = crude_rate, colour = cancer_site)+
  facet_wrap(~ sex)+
   theme(legend.position = "none")+
    labs(x = "Year", y = "Crude rate", title = "Top 3 highest incidences of cancer for men and women over the years")+
  geom_line())

NA
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGphbml0b3IpCmxpYnJhcnkocGxvdGx5KQpsaWJyYXJ5KGx1YnJpZGF0ZSkKbGlicmFyeSh0c2liYmxlKQpgYGAKYGBge3J9CmNhbmNlcl9pbmNpZGVuY2UgPC0gcmVhZF9jc3YoIi4uL2NsZWFuX2RhdGEvY2FuY2VyX2luY2lkZW5jZV9zY290bGFuZC5jc3YiKQoKc2NvdGxhbmQgPC0gcmVhZF9jc3YoIi4uL2NsZWFuX2RhdGEvc2NvdGxhbmRfd2lkZS5jc3YiKQpgYGAKYGBge3J9CmJvcmRlcnMgPC0gY2FuY2VyX2luY2lkZW5jZSAlPiUgCiAgZmlsdGVyKGhlYWx0aF9ib2FyZCA9PSAiTkhTIEJvcmRlcnMiKQpgYGAKCmBgYHtyfQpnZ3Bsb3RseShib3JkZXJzICU+JSAKICBmaWx0ZXIoY2FuY2VyX3NpdGUgIT0gIkFsbCBjYW5jZXIgdHlwZXMiLAogICAgICAgICBzZXggPT0gIkFsbCIpICU+JSAKIGdncGxvdCgpICsKIGFlcyh4ID0geWVhciwgeSA9IGNydWRlX3JhdGUsIGZpbGwgPSBjYW5jZXJfc2l0ZSkgKwogZ2VvbV9hcmVhKHNpemUgPSAxTCkgKwogc2NhbGVfZmlsbF9odWUoKSArCiBsYWJzKHggPSAiWWVhciIsIHkgPSAiQ3J1ZGUgcmF0ZSIsIHRpdGxlID0gIkNhbmNlciBpbmNpZGVuY2UgaW4gdGhlIEJvcmRlcnMiLCBmaWxsID0gIlR5cGUgb2YgY2FuY2VyIikgKwogdGhlbWVfbWluaW1hbCgpKQpgYGAKYGBge3J9CmdncGxvdGx5KGJvcmRlcnMgJT4lCiBmaWx0ZXIoc2V4ICVpbiUgIkFsbCIsCiAgICAgICAgY2FuY2VyX3NpdGUgIT0gIkFsbCBjYW5jZXIgdHlwZXMiKSAlPiUKIGdncGxvdCgpICsKIGFlcyh4ID0geWVhciwgeSA9IGNydWRlX3JhdGUsIGNvbG91ciA9IGNhbmNlcl9zaXRlKSArCiBnZW9tX2xpbmUoc2l6ZSA9IDFMKSArCiBnZW9tX3Ntb290aChzcGFuID0gMC43NSkgKwogc2NhbGVfY29sb3JfaHVlKCkgKwogICBsYWJzKHggPSAiWWVhciIsIHkgPSAiQ3J1ZGUgcmF0ZSIsIHRpdGxlID0gIkNhbmNlciBpbmNpZGVuY2UgaW4gdGhlIEJvcmRlcnMiLCBmaWxsID0gIlR5cGUgb2YgY2FuY2VyIikrCiB0aGVtZV9taW5pbWFsKCkpCmBgYAoKYGBge3J9Cm5hdGlvbndpZGVfY2FuY2VyIDwtIHJiaW5kKGNhbmNlcl9pbmNpZGVuY2UsIHNjb3RsYW5kKQpgYGAKYGBge3J9CgpnZ3Bsb3RseShuYXRpb253aWRlX2NhbmNlciAlPiUKIGZpbHRlcihzZXggJWluJSAiQWxsIiwKICAgICAgICBjYW5jZXJfc2l0ZSA9PSAiQWxsIGNhbmNlciB0eXBlcyIsCiAgICAgICAgaGVhbHRoX2JvYXJkICVpbiUgYygic2NvdGxhbmRfd2lkZSIsICJOSFMgQm9yZGVycyIpKSAlPiUKIGdncGxvdCgpICsKIGFlcyh4ID0geWVhciwgeSA9IGNydWRlX3JhdGUsIGNvbG91ciA9IGhlYWx0aF9ib2FyZCkgKwogZ2VvbV9saW5lKHNpemUgPSAxTCkgKwogIGdlb21fc21vb3RoKHNwYW4gPSAwLjc1KSsKICBsYWJzKHggPSAiWWVhciIsIHkgPSAiQ3J1ZGUgcmF0ZSIsIHRpdGxlID0gIkNhbmNlciBpbmNpZGVuY2UgaW4gdGhlIEJvcmRlcnMgY29tcGFyZWQgdG8gU2NvdGxhbmQgd2lkZSIpKwogc2NhbGVfY29sb3JfaHVlKCkgKwogdGhlbWVfbWluaW1hbCgpKQpgYGAKYGBge3J9CmNhbmNlcl90c2liYmxlIDwtIG5hdGlvbndpZGVfY2FuY2VyICU+JSAKICBhc190c2liYmxlKGluZGV4ID0geWVhcikKYGBgCmBgYHtyfQpuYXRpb253aWRlX2NhbmNlciAlPiUgCiAgZmlsdGVyKHllYXIgPT0gMTk5NCkgJT4lIAogIHNsaWNlX21heChjcnVkZV9yYXRlLCBuID0gMTApCmBgYAoKYGBge3J9Cm5hdGlvbndpZGVfY2FuY2VyICU+JSAKICBmaWx0ZXIoY2FuY2VyX3NpdGUgPT0gIkFsbCBjYW5jZXIgdHlwZXMiLAogICAgICAgICBzZXggPT0gIkFsbCIpICU+JSAKICBncm91cF9ieSh5ZWFyKSAlPiUgCiAgc2xpY2VfbWF4KGNydWRlX3JhdGUsIG4gPSA1KSAlPiUgCiAgZ2dwbG90KCkrCiAgYWVzKHggPSB5ZWFyLCB5ID0gY3J1ZGVfcmF0ZSwgZmlsbCA9IChoZWFsdGhfYm9hcmQgPT0gIk5IUyBCb3JkZXJzIikpKwogIHNjYWxlX2ZpbGxfZGlzY3JldGUobmFtZSA9ICIgIiwgbGFiZWxzID0gYygiT3RoZXIgaGVhbHRoIGJvYXJkcyIsICJOSFMgQm9yZGVycyIpKSsKICBsYWJzKHggPSAiWWVhciIsIHkgPSAiQ3J1ZGUgcmF0ZSIsIHRpdGxlID0gIlRvcCA1IEhlYWx0aCBCb2FyZHMgd2l0aCBIaWdoZXN0IEluY2lkZW5jZSBvZiBDYW5jZXIgaW4gU2NvdGxhbmQiKSsKICBnZW9tX2NvbCgpCmBgYApgYGB7cn0KZ2dwbG90bHkoYm9yZGVycyAlPiUgCiAgZmlsdGVyKHNleCAhPSAiQWxsIiwKICAgICAgICAgY2FuY2VyX3NpdGUgIT0gIkFsbCBjYW5jZXIgdHlwZXMiKSAlPiUgCiAgICBncm91cF9ieSh5ZWFyLCBzZXgpICU+JSAKICBzbGljZV9tYXgoY3J1ZGVfcmF0ZSwgbiA9IDMpICU+JSAKICBnZ3Bsb3QoKSsKICBhZXMoeCA9IHllYXIsIHkgPSBjcnVkZV9yYXRlLCBjb2xvdXIgPSBjYW5jZXJfc2l0ZSkrCiAgZmFjZXRfd3JhcCh+IHNleCkrCiAgIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIikrCiAgICBsYWJzKHggPSAiWWVhciIsIHkgPSAiQ3J1ZGUgcmF0ZSIsIHRpdGxlID0gIlRvcCAzIGhpZ2hlc3QgaW5jaWRlbmNlcyBvZiBjYW5jZXIgZm9yIG1lbiBhbmQgd29tZW4gb3ZlciB0aGUgeWVhcnMiKSsKICBnZW9tX2xpbmUoKSkKICAKYGBgCgo=